#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define lua_c

#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
#include "array.h"

int main (int argc, char** argv) {

#if 1
	int error;
	lua_State *L = lua_open();   /* opens Lua */
	luaL_openlibs(L);
	luaopen_array(L);
	luaopen_dir(L);
	if (luaL_dofile(L, "E:/lua/Debug/test.lua"))
	{
		fprintf(stderr, "%s", lua_tostring(L, -1));
		lua_pop(L, 1);  /* pop error message from the stack */
	}
	//stackDump(L);
	lua_close(L);
	return 0;
#else
	lua_State *L = lua_open();
    lua_pushboolean(L, 1); 
	lua_pushnumber(L, 10);
    lua_pushnil(L); 
	lua_pushstring(L, "hello");
    stackDump(L);
           /* true  10  nil  `hello'  */
    lua_pushvalue(L, -4); stackDump(L);
           /* true  10  nil  `hello'  true  */
    lua_replace(L, 3); stackDump(L);
           /* true  10  true  `hello'  */
    lua_settop(L, 6); stackDump(L);
           /* true  10  true  `hello'  nil  nil  */
    lua_remove(L, -3); stackDump(L);
           /* true  10  true  nil  nil  */
    lua_settop(L, -5); stackDump(L);
           /* true  */
    lua_close(L);
    return 0;
#endif
}

